<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>InitPHP框架 PHP框架 - A PHP Framework - Filter API</title>
<link href="static/common.css" type="text/css" rel="stylesheet" />
<meta name="keywords" content="php框架，国产php框架, initphp框架，MVC，分层体系" />
<meta name="description" content="initphp框架是一款国产php框架。initphp框架主要基于MVC模式，具备代码清晰，操作简单，功能齐全，开发快速，高效安全等特点，是您选择php框架的首选。" />
</head>
<body>
<div class="header">
  <div class="header_nav">InitPHP (A PHP Framework) 用户手册</div>
  <div class="header_div">
    <div class="header_title">第6章 6.2.4 Filter API</div>
    <div class="header_right"><a href="6_2_3.htm">上一页</a> <a href="6_3.htm">下一页</a> </div>
  </div>
</div>
<div class="title">目录</div>
<ul style="list-style:none;">
  <li><a href="#$this->controller->get_gp">$this->controller->get_gp</a></li>
  <li><a href="#$this->controller->str_out">$this->controller->str_out</a></li>
  <li><a href="#$this->controller->fliter_str">$this->controller->fliter_str</a></li>
  <li><a href="#$this->controller->fliter_sql">$this->controller->fliter_sql</a></li>
  <li><a href="#$this->controller->fliter_script">$this->controller->fliter_script</a></li>
  <li><a href="#$this->controller->fliter_html">$this->controller->fliter_html</a></li>
  <li><a href="#$this->controller->fliter_escape">$this->controller->fliter_escape</a></li>
  <li><a href="#$this->controller->filter_phptag">$this->controller->filter_phptag</a></li>
  <li><a href="#$this->controller->filter_path">$this->controller->filter_path</a></li>
  <li><a href="#$this->controller->filter_dir">$this->controller->filter_dir</a></li>
  
</ul>
<div class="nav"></div>

<div class="title">1. $this->controller->get_gp($value, $type = null,  $isfilter = true) 安全过滤类-获取GET或者POST的参数值，经过过滤<a name="$this->controller->get_gp"></a></div>
<div class="title">
  <h3>接口描述：</h3>
</div>
<p>所有POST和GET的数据，都需要经过该函数获取。可以获取单个参数，也可以获取多个参数，用数组形式获取。默认$isfliter是参数进行过滤的。$type 参数可以自定义设置P 或者G ，获取POST或者GET的数据。在Controller中使用</p>
<div class="title">
  <h3>参数：</h3>
</div>
<table>
  <tr>
    <th style="width:20%;"> 参数 </th>
    <th style="width:20%;"> 类型 </th>
    <th style="width:10%;"> 是否必须 </th>
    <th style="width:50%;"> 描述 </th>
  </tr>
    <tr>
      <td>$value</td>
      <td>String|Array </td>
      <td>是</td>
      <td>单个或者多个（array('username','password')）</td>
    </tr>
    <tr>
      <td>$type</td>
      <td>String</td>
      <td>否</td>
      <td>获取GET或者POST参数，P - POST ， G - GET, U - PUT , D -DEL</td>
    </tr>
	 <tr>
      <td>$isfliter</td>
      <td>Bool</td>
      <td>否</td>
      <td>变量是否过滤，为了安全考虑,默认关闭</td>
    </tr>
</table>
<div class="title">
  <h3>使用：</h3>
</div>
<pre id="PHP" class="prettyprint">
public function run() {
	$this->controller->get_gp('username'); //获取单个参数 
	$this->controller->get_gp(array('username', 'password')); //获取多个参数
	$this->controller->get_gp('username', 'G'); //get方法获取单个参数
	$this->view->display(); //模板显示
}
</pre>
<div class="nav"></div>

<div class="title">2. $this->controller->str_out($value) 安全过滤类-HTML过滤后返回函数<a name="$this->controller->str_out"></a></div>
<div class="title">
  <h3>接口描述：</h3>
</div>
<p> 安全过滤类-HTML过滤后返回函数。在Controller中使用</p>
<div class="title">
  <h3>参数：</h3>
</div>
<table>
  <tr>
    <th style="width:20%;"> 参数 </th>
    <th style="width:20%;"> 类型 </th>
    <th style="width:10%;"> 是否必须 </th>
    <th style="width:50%;"> 描述 </th>
  </tr>
    <tr>
      <td>$value</td>
      <td>String </td>
      <td>是</td>
      <td>需要过滤的值</td>
    </tr>
</table>
<div class="title">
  <h3>使用：</h3>
</div>
<pre id="PHP" class="prettyprint">
public function run() {
	$this->controller->str_out('&lt;div&gt; saodoas &lt;/div&gt;'); //返回过滤过的HTML
	$this->view->display(); //模板显示
}
</pre>
<div class="nav"></div>

<div class="title">3. $this->controller->fliter_str($value) 安全过滤类-字符串过滤 过滤特殊有危害字符<a name="$this->controller->fliter_str"></a></div>
<div class="title">
  <h3>接口描述：</h3>
</div>
<p>只支持单字符串的数据过滤。对不安全的数据，可以通过这个函数过滤，过滤安全性比较高。在Controller中使用</p>
<div class="title">
  <h3>参数：</h3>
</div>
<table>
  <tr>
    <th style="width:20%;"> 参数 </th>
    <th style="width:20%;"> 类型 </th>
    <th style="width:10%;"> 是否必须 </th>
    <th style="width:50%;"> 描述 </th>
  </tr>
   <tr>
      <td>$value</td>
      <td>String </td>
      <td>是</td>
      <td>需要过滤的值</td>
    </tr>
</table>
<div class="title">
  <h3>使用：</h3>
</div>
<pre id="PHP" class="prettyprint">
public function run() {
	$this->controller->fliter_str('&lt;script>&lt;/script>asdasd'); //安全过滤类-字符串过滤 过滤特殊有危害字符
	$this->view->display(); //模板显示
}
</pre>
<div class="nav"></div>

<div class="title">4. $this->controller->fliter_sql($value) 安全过滤类-对进入的数据加下划线 防止SQL注入<a name="$this->controller->fliter_sql"></a></div>
<div class="title">
  <h3>接口描述：</h3>
</div>
<p> SQL关键词过滤，过滤级别比较高，一般情况下不需要使用。在Controller中使用</p>
<div class="title">
  <h3>参数：</h3>
</div>
<table>
  <tr>
    <th style="width:20%;"> 参数 </th>
    <th style="width:20%;"> 类型 </th>
    <th style="width:10%;"> 是否必须 </th>
    <th style="width:50%;"> 描述 </th>
  </tr>
   <tr>
      <td>$value</td>
      <td>String </td>
      <td>是</td>
      <td>需要过滤的值</td>
    </tr>
</table>
<div class="title">
  <h3>使用：</h3>
</div>
<pre id="PHP" class="prettyprint">
public function run() {
	$this->controller->fliter_sql('select * from '); //过滤SQL
	$this->view->display(); //模板显示
}
</pre>
<div class="nav"></div>

<div class="title">5. $this->controller->fliter_script($value) 过滤javascript,css,iframes,object等不安全参数 过滤级别高<a name="$this->controller->fliter_script"></a></div>
<div class="title">
  <h3>接口描述：</h3>
</div>
<p> 这个函数过滤级别比较高，会屏蔽script，一般情况下不需要使用该函数。在Controller中使用</p>
<div class="title">
  <h3>参数：</h3>
</div>
<table>
  <tr>
    <th style="width:20%;"> 参数 </th>
    <th style="width:20%;"> 类型 </th>
    <th style="width:10%;"> 是否必须 </th>
    <th style="width:50%;"> 描述 </th>
  </tr>
   <tr>
      <td>$value</td>
      <td>String </td>
      <td>是</td>
      <td>需要过滤的值</td>
    </tr>
</table>
<div class="title">
  <h3>使用：</h3>
</div>
<pre id="PHP" class="prettyprint">
public function run() {
	$this->controller->fliter_script('&lt;script>&lt;/script>asdasd'); //过滤javascript,css,iframes,object等不安全参数 过滤级别高
	$this->view->display(); //模板显示
}
</pre>
<div class="nav"></div>

<div class="title">6. $this->controller->fliter_html($value) 安全过滤类-过滤HTML标签<a name="$this->controller->fliter_html"></a></div>
<div class="title">
  <h3>接口描述：</h3>
</div>
<p> 安全过滤类-过滤HTML标签。在Controller中使用</p>
<div class="title">
  <h3>参数：</h3>
</div>
<table>
  <tr>
    <th style="width:20%;"> 参数 </th>
    <th style="width:20%;"> 类型 </th>
    <th style="width:10%;"> 是否必须 </th>
    <th style="width:50%;"> 描述 </th>
  </tr>
   <tr>
      <td>$value</td>
      <td>String </td>
      <td>是</td>
      <td>需要过滤的值</td>
    </tr>
</table>
<div class="title">
  <h3>使用：</h3>
</div>
<pre id="PHP" class="prettyprint">
public function run() {
	$this->controller->fliter_html('&lt;script>&lt;/script>asdasd'); //过滤HTML
	$this->view->display(); //模板显示
}
</pre>
<div class="nav"></div>

<div class="title">7. $this->controller->fliter_escape($value) 安全过滤类-通用数据过滤<a name="$this->controller->fliter_escape"></a></div>
<div class="title">
  <h3>接口描述：</h3>
</div>
<p>安全过滤类-通用数据过滤。在Controller中使用</p>
<div class="title">
  <h3>参数：</h3>
</div>
<table>
  <tr>
    <th style="width:20%;"> 参数 </th>
    <th style="width:20%;"> 类型 </th>
    <th style="width:10%;"> 是否必须 </th>
    <th style="width:50%;"> 描述 </th>
  </tr>
   <tr>
      <td>$value</td>
      <td>String </td>
      <td>是</td>
      <td>需要过滤的值</td>
    </tr>
</table>
<div class="title">
  <h3>使用：</h3>
</div>
<pre id="PHP" class="prettyprint">
public function run() {
	$this->controller->fliter_escape('&lt;script>&lt;/script>asdasd'); //安全过滤类-通用数据过滤
	$this->view->display(); //模板显示
}
</pre>
<div class="nav"></div>

<div class="title">8. $this->controller->filter_phptag($value) 过滤PHP标记<a name="$this->controller->filter_phptag"></a></div>
<div class="title">
  <h3>接口描述：</h3>
</div>
<p>过滤PHP标记。在Controller中使用</p>
<div class="title">
  <h3>参数：</h3>
</div>
<table>
  <tr>
    <th style="width:20%;"> 参数 </th>
    <th style="width:20%;"> 类型 </th>
    <th style="width:10%;"> 是否必须 </th>
    <th style="width:50%;"> 描述 </th>
  </tr>
   <tr>
      <td>$value</td>
      <td>String </td>
      <td>是</td>
      <td>需要过滤的值</td>
    </tr>
</table>
<div class="title">
  <h3>使用：</h3>
</div>
<pre id="PHP" class="prettyprint">
public function run() {
	$this->controller->filter_phptag('&lt;?php saodoas ?>'); //过滤PHP标记
	$this->view->display(); //模板显示
}
</pre>
<div class="nav"></div>

<div class="title">9. $this->controller->filter_path($value) 过滤目录<a name="$this->controller->filter_path"></a></div>
<div class="title">
  <h3>接口描述：</h3>
</div>
<p>对文件目录进行过滤。在Controller中使用</p>
<div class="title">
  <h3>参数：</h3>
</div>
<table>
  <tr>
    <th style="width:20%;"> 参数 </th>
    <th style="width:20%;"> 类型 </th>
    <th style="width:10%;"> 是否必须 </th>
    <th style="width:50%;"> 描述 </th>
  </tr>
   <tr>
      <td>$value</td>
      <td>String </td>
      <td>是</td>
      <td>需要过滤的值</td>
    </tr>
</table>
<div class="title">
  <h3>使用：</h3>
</div>
<pre id="PHP" class="prettyprint">
public function run() {
	$this->controller->filter_path('/var/usr/'); //安全过滤类-过滤目录
	$this->view->display(); //模板显示
}
</pre>
<div class="nav"></div>

<div class="title">10. $this->controller->filter_dir($value) 安全过滤类-私有路径安全转化<a name="$this->controller->filter_dir"></a></div>
<div class="title">
  <h3>接口描述：</h3>
</div>
<p> 安全过滤类-私有路径安全转化。在Controller中使用</p>
<div class="title">
  <h3>参数：</h3>
</div>
<table>
  <tr>
    <th style="width:20%;"> 参数 </th>
    <th style="width:20%;"> 类型 </th>
    <th style="width:10%;"> 是否必须 </th>
    <th style="width:50%;"> 描述 </th>
  </tr>
   <tr>
      <td>$value</td>
      <td>String </td>
      <td>是</td>
      <td>需要过滤的值</td>
    </tr>
</table>
<div class="title">
  <h3>使用：</h3>
</div>
<pre id="PHP" class="prettyprint">
public function run() {
	$this->controller->filter_dir('/var/usr/'); //安全过滤类-过滤目录
	$this->view->display(); //模板显示
}
</pre>
<div class="nav"></div>

<div class="footer">版权所有：<a href="">http://initphp.com</a> InitPHP (A PHP Framework) By @Aliyun_zhuli</div>
<script src="static/jquery.js" type="text/javascript"></script>
<link href="static/prettify/prettify.css" rel="stylesheet" type="text/css">
<script src="static/prettify/prettify.js" type="text/javascript"></script>
<script type="text/javascript" src="static/comm.js"></script>
</body>
</html>
